package com.wnx.job.modules.nms.dto;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author 王乃醒是大帅哥
 * @since 2021-09-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ChannelParam implements Serializable{

    /**
     * 自增主键
     */
    @ApiModelProperty(value = "自增主键")
    private Long id;



    /**
     * 栏目名称
     */
    @ApiModelProperty(value = "栏目名称")
    @NotBlank(message = "栏目内容不能为空")
    private String name;

    /**
     * 上级栏目ID
     */
    @ApiModelProperty(value = "上级栏目ID")
    @NotNull(message = "上级栏目不能为空")
    private Long parentId;

    /**
     * 是否单页1单页0不单页
     */
    @ApiModelProperty(value = "是否单页1单页0不单页")
    private Boolean single;

    /**
     * 排序号
     */
    @ApiModelProperty(value = "排序号")
    @NotNull(message = "排序号不能为空")
    private Integer sort;

    /**
     * 栏目位置1二级导航2轮播图
     */
    @ApiModelProperty(value = "栏目位置1二级导航2轮播图")
    @NotNull(message = "栏目位置不能为空")
    private Integer position;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date created;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updated;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态1:激活0不激活")
    @NotNull(message = "状态值不能为空！")
    private Integer status;


    //=================附件属性================//

    /**
     * 该栏目的子栏目集合
     */
    private List<ChannelParam> children;

    private boolean hasChildren = true;
    //=================附件属性================//


}
